/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  v2006                                 |
|   \\  /    A nd           | Website:  www.openfoam.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      topoSetDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

actions
(
    // Outer cube
    {
        name    outer;
        type    cellSet;
        action  new;
        source  regionToCell;
        insidePoints
        (
            (0.99 0.99 0.99)
        );
    }

    {
        name    corner;
        type    cellSet;
        action  new;
        source  boxToCell;
        box     (-1 -1 -1)(0.5 0.5 0.5);
    }

    {
        name    inner;
        type    cellSet;
        action  new;
        source  cellToCell;
        set     corner;
    }

    {
        name    inner;
        type    cellSet;
        action  subtract;
        source  cellToCell;
        set     outer;
    }

    {
        name    outer;
        type    cellSet;
        action  subtract;
        source  cellToCell;
        set     corner;
    }

    {
        name    corner;
        type    cellSet;
        action  clear;
    }

    {
        name    final;
        type    cellSet;
        action  new;
        source  cellToCell;
        set     outer;
    }
    {
        name    final;
        type    cellSet;
        action  add;
        source  cellToCell;
        set     inner;
    }
);

// ************************************************************************* //
